package pl.vm.domain;

import pl.vm.domain.exceptions.InvalidStateException;
import pl.vm.domain.interfaces.Classification;
import pl.vm.domain.interfaces.RoundState;

public class RoundClosed implements RoundState {

	private RoundImpl round;
	
	public RoundClosed(RoundImpl round) {
		this.round = round;
	}
	
	@Override
	public void setPlayerStatistics(Player player, Statistics statistics)
			throws InvalidStateException {
		throw new InvalidStateException();
	}

	@Override
	public boolean addTeam(VirtualTeam team) throws InvalidStateException {
		throw new InvalidStateException();	
	}

	@Override
	public void changePlayerStatistics(Player player, Statistics statistics)
			throws InvalidStateException {
		throw new InvalidStateException();	
	}

	@Override
	public void close() throws InvalidStateException {
		throw new InvalidStateException();
	}

	@Override
	public void freeze() throws InvalidStateException {
		throw new InvalidStateException();
	}

	@Override
	public Classification getClassification() {
		return new RoundClassification((RoundClassification) round.classification);
	}

	@Override
	public boolean changeTeam(VirtualTeam oldTeam, VirtualTeam newTeam) throws InvalidStateException {
		throw new InvalidStateException();
	}

}
